package com.ihr360.payroll.service.salaryreport;

import com.ihr360.payroll.entity.salary.SalaryReportPlanEntity;
import com.ihr360.payroll.model.dto.salary.report.HistorySalaryPlan;
import com.ihr360.payroll.model.dto.salary.report.embedded.SalaryFieldSnapshot;
import com.ihr360.payroll.model.response.salaryreport.SalaryHeader;
import com.ihr360.payroll.request.salaryReport.SalaryReportRequest;
import com.ihr360.rest.service.SimpleRestService;

import java.util.List;

/**
 * Created by Eric on 2018/4/11/011.
 */
public interface HistorySalaryPlanService extends SimpleRestService<HistorySalaryPlan, Long> {
    List<SalaryReportPlanEntity> getList(String companyId);

    /**
     * 根据薪资周期查询列表
     */
    List<HistorySalaryPlan> getListByMonthCycle(String companyId, Boolean monthCycle);

    /**
     * 查询薪资方案列表
     */
    List<HistorySalaryPlan> getListByIdList(String companyId, List<Long> ids);

    /**
     * 查询薪资方案所有列
     */
    List<SalaryFieldSnapshot> queryFieldList(String companyId, SalaryReportRequest reportRequest);

    /**
     * 查询薪资报表表头
     */
    SalaryHeader queryStaffSalaryHead(String companyId, SalaryReportRequest reportRequest);

    /**
     * 查询审批薪资账期表头
     */
    SalaryHeader queryApprovalStaffSalaryHead(String companyId, Long historyPayPeriodId);


}
